/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package football;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author Herbert
 */
@Entity
@Table(name = "SITZPLATZ")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Sitzplatz.findAll", query = "SELECT s FROM Sitzplatz s"),
    @NamedQuery(name = "Sitzplatz.findByIdSitzplatz", query = "SELECT s FROM Sitzplatz s WHERE s.idSitzplatz = :idSitzplatz"),
    @NamedQuery(name = "Sitzplatz.findBySitzplatznummer", query = "SELECT s FROM Sitzplatz s WHERE s.sitzplatznummer = :sitzplatznummer"),
    @NamedQuery(name = "Sitzplatz.findByStiege", query = "SELECT s FROM Sitzplatz s WHERE s.stiege = :stiege"),
    @NamedQuery(name = "Sitzplatz.findByEingang", query = "SELECT s FROM Sitzplatz s WHERE s.eingang = :eingang")})
public class Sitzplatz implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "ID_SITZPLATZ")
    private Integer idSitzplatz;
    @Column(name = "SITZPLATZNUMMER")
    private Integer sitzplatznummer;
    @Column(name = "STIEGE")
    private Integer stiege;
    @Size(max = 200)
    @Column(name = "EINGANG")
    private String eingang;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "sitzplatz")
    private Collection<Ticket> ticketCollection;
    @JoinColumn(name = "ID_SEKTOR", referencedColumnName = "ID_SEKTOR")
    @ManyToOne(optional = false)
    private Sektor idSektor;

    public Sitzplatz() {
    }

    public Sitzplatz(Integer idSitzplatz) {
        this.idSitzplatz = idSitzplatz;
    }

    public Integer getIdSitzplatz() {
        return idSitzplatz;
    }

    public void setIdSitzplatz(Integer idSitzplatz) {
        this.idSitzplatz = idSitzplatz;
    }

    public Integer getSitzplatznummer() {
        return sitzplatznummer;
    }

    public void setSitzplatznummer(Integer sitzplatznummer) {
        this.sitzplatznummer = sitzplatznummer;
    }

    public Integer getStiege() {
        return stiege;
    }

    public void setStiege(Integer stiege) {
        this.stiege = stiege;
    }

    public String getEingang() {
        return eingang;
    }

    public void setEingang(String eingang) {
        this.eingang = eingang;
    }

    @XmlTransient
    public Collection<Ticket> getTicketCollection() {
        return ticketCollection;
    }

    public void setTicketCollection(Collection<Ticket> ticketCollection) {
        this.ticketCollection = ticketCollection;
    }

    public Sektor getIdSektor() {
        return idSektor;
    }

    public void setIdSektor(Sektor idSektor) {
        this.idSektor = idSektor;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idSitzplatz != null ? idSitzplatz.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Sitzplatz)) {
            return false;
        }
        Sitzplatz other = (Sitzplatz) object;
        if ((this.idSitzplatz == null && other.idSitzplatz != null) || (this.idSitzplatz != null && !this.idSitzplatz.equals(other.idSitzplatz))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "football.Sitzplatz[ idSitzplatz=" + idSitzplatz + " ]";
    }
    
}
